var orderPayDetailInternal; //查询订单支付结果定时器
var startTime=null;
var sec = 100;
$(function(){
	 ///加载用户现有的开户银行列表
     memberCardBankInstList();
	
//	*****银行卡支付******
	//选择银行卡
	$('.pay .main ul li.a .card a.selected').find('.xz').css('display','block');
	$('.pay .main ul li.a .card a').click(function(){
		$(this).addClass('selected').siblings().removeClass('selected');
		$(this).find('.xz').css('display','block').end().siblings().find('.xz').css('display','none');
		$('.pay .main ul li.a .disanfang a').find('.xz').css('display','none');
		$('.pay .main ul li.a .disanfang a').removeClass('selected');
	});
	//选择第三方支付
	$('.pay .main ul li.a .disanfang a').click(function(){
		$(this).addClass('selected').siblings().removeClass('selected');
		$(this).find('.xz').css('display','block').end().siblings().find('.xz').css('display','none');
		$('.pay .main ul li.a .card a').find('.xz').css('display','none');
		$('.pay .main ul li.a .card a').removeClass('selected');
	});
//	点击右侧垃圾桶
	$('.pay .main ul li.a .delete').click(function(){
		$(this).parents('.a').find('.card a').removeClass('selected');
		$(this).parents('.a').find('.xz').css('display','none');
		$(this).parents('.a').find('.del').css('display','block');
	});
//	删除当前银行卡
	$('.pay .main ul li.a .del').click(function(){
		$(this).parent('a').remove();
	});
	
	$(window).mouseup(function(e){
		if(!$(e.target).hasClass('del')){
			$('.del').css('display','none');
		}
	})
    //	点击确认按钮
	$('.bc_pay .confirm').click(function(){
		
		//如果是银行卡支付
		if($('.pay .main ul li.a .card .selected').length  > 0){

			if($(".bc_pay .main ul li div").find("a").length == 0){
				alert("请添加可支付的银行卡!");
				return false;
			}
			$('.mask_layer .step_c .border').remove(); 
			//根据用户选择的银行机构查询该机构的银行卡列表
			memberCardList($('.pay .main ul li.a .card a.selected').attr("bankName"));
			$('.mask_layer').css('display','block');
			$('.mask_layer .step_c').css('display','block');
			$('.mask_layer .step_a').css('display','none');
			$('.mask_layer .step_b').css('display','none');
			$('.mask_layer .step_d').css('display','none');
		}
		
		if($('.pay .main ul li.a .disanfang .selected').length > 0){	
			debugger;
			//选择微信支付
			if($('.pay .main ul li.a .disanfang .selected').hasClass("wx")){
				//alert("微信支付");
				var payType="2";//支付类型 1:畅捷通快捷银联支付 2.畅捷通微信扫码支付 3：畅捷通支付宝扫码支付 4.畅捷通微信app支付 5：畅捷通支付宝app支付 6：微信公众号支付 7：微信app支付 8：其它支付//alert($("#qpayCardId").val());
				orderPay(payType);
			}
			//选择支付宝扫码支付
			if($('.pay .main ul li.a .disanfang .selected').hasClass("zfb")){
				//alert("支付宝扫码支付");
				var payType="3";//支付类型 1:畅捷通快捷银联支付 2.畅捷通微信扫码支付 3：畅捷通支付宝扫码支付 4.畅捷通微信app支付 5：畅捷通支付宝app支付 6：微信公众号支付 7：微信app支付 8：其它支付//alert($("#qpayCardId").val());
				orderPay(payType);
			}
		}
		
	});

    //	点击添加银行卡
	$('.add_card').click(function(){
		//查询畅捷通快捷支付支持的银行机构列表
		 chanQPayBankInstList();
		$('.mask_layer').css('display','block');
		$('.mask_layer .step_a').css('display','block');
		$('.mask_layer .step_b').css('display','none');
		$('.mask_layer .step_c').css('display','none');
		$('.mask_layer .step_d').css('display','none');
	})
	
	$(document).on("click",".step_a  ul li",function(){
		$(".step_b form img ").attr("src",$(this).children().attr("src"));	
		$(".step_b form img ").attr("alt",$(this).children().attr("alt"));
		$("#bankName").val($(this).attr("instName"));
		$("#instId").val($(this).attr("instId"));
		$('.step_b').css('display','block');
		$('.step_a').css('display','none');
	});
   //	选择其他银行
	$('.step_b .other').click(function(){
		$('.step_b').css('display','none');
		$('.step_a').css('display','block');
	});


    //	点击-确定添加
	$('.step_b form').one("submit",function(e){
		e = window.event || event;
		e.preventDefault();
		var data = $("#addBankCard").serialize();
		var url = rootPath + '/card/addMemberCard';
		var result = CommnUtil.ajax(url, data, "json");
		if(result.resultSuccess == true ){
			layer.msg(result.resultDesc,{icon:1,skin: 'layui-layer-red ',offset: ['40%', '45%']});
			$("#addBankCard")[0].reset();
			$('.step_b').css('display','none');
			$('.step_c').css('display','block');
			$('.mask_layer .step_c .border').remove(); 
			//根据用户选择的银行机构查询该机构的银行卡列表
			memberCardList($('.pay .main ul li.a .card a.selected').attr("bankName"));
		}else{			
			$("#cardNumber").val("");
			layer.msg(result.resultDesc,{icon:2,skin: 'layui-layer-red ',offset: ['40%', '45%']});
		}
	});

	
	//确认支付
	$(".step_c > form > a").one("click",function(e){
		e = window.event || event;
		e.preventDefault();
		if(!CommnUtil.notNull($("#verification_code").val())){
			layer.msg("短信验证码不能为空!",{icon:2,skin: 'layui-layer-red ',offset: ['40%', '45%']});
			return false;
		}	
		if(!$("#out_trade_no") || !CommnUtil.notNull($("#out_trade_no").val())){
			layer.msg("订单号不能为空!",{icon:2,skin: 'layui-layer-red ',offset: ['40%', '45%']});
			return false;
		}	
		var url = rootPath + "/order/qPayConfirm";
		var data = $(".step_c > form").serialize();
		var result = CommnUtil.ajax(url,data,"json");
		if(result.resultSuccess == true){
			if(result.trade_status == '0' ) {//0：支付成功	1：支付处理中  2：支付失败
				//alert("支付成功: " +result.resultDesc);		
		        layer.msg("确认支付成功",{icon:1,skin: 'layui-layer-red ',offset: ['40%', '45%']});	
		        Pause(this,6000);//调用暂停函数
		 	    this.NextStep=function(){
					//开始请求订单支付结果 2017-05-15该结果查询改到进度条页面
					//设计进度条.....	
					var $url = rootPath + '/order/loading?orderId='+$("#orderId").val();		
					window.open($url,'_self'); 
		 	    }			
			}else if(result.trade_status == '1'){
				//alert("支付处理中: " +result.resultDesc);
		        layer.msg("确认支付处理中",{icon:1,skin: 'layui-layer-red ',offset: ['40%', '45%']});
		        Pause(this,6000);//调用暂停函数
			    this.NextStep=function(){
					//请求支付失败跳转到订单待付款页面
					window.location.href=rootPath + '/order/orderPage?queryStatus=1';
			    }
			}else if(result.trade_status == '2'){
				//alert("支付失败: " +result.resultDesc);
		        layer.msg(result.resultDesc,{icon:2,skin: 'layui-layer-red ',offset: ['40%', '45%']});
		        Pause(this,6000);//调用暂停函数
			    this.NextStep=function(){
					//请求支付失败跳转到订单待付款页面
					window.location.href=rootPath + '/order/orderPage?queryStatus=1';
			    }
			}
		}else{
			//alert(result.resultDesc);
	        layer.msg(result.resultDesc,{icon:2,skin: 'layui-layer-red ',offset: ['40%', '45%']});	
	        Pause(this,6000);//调用暂停函数
	 	    this.NextStep=function(){
				//请求支付失败跳转到订单待付款页面
				window.location.href=rootPath + '/order/orderPage?queryStatus=1';
	 	    }
		}
		
	});
	//选择银行卡
	$(document).on("click",".step_c > div",function(){//由于畅捷通快捷支付支持的银行机构列表是在文档加载完后动态生成的若想触发click事件需要on事件特殊处理
		$(this).addClass('selected').siblings().removeClass('selected');
	//	alert("cardId: " + $(this).attr("cardid"));
		$("#qpayCardId").val($(this).attr("cardid"));
	}); 
	//监听用户银行卡号输入
	$('#cardNumber').bind('change', function() {
		return isTheChooseBankCard($(this).val());
    }); 
//	获取验证码
	$("#yzm").one("click",function() {
		//请求畅捷通快捷支付
		var payType="1";//支付类型 1:畅捷通快捷银联支付 2.畅捷通微信扫码支付 3：畅捷通支付宝扫码支付 4.畅捷通微信app支付 5：畅捷通支付宝app支付 6：微信公众号支付 7：微信app支付 8：其它支付//alert($("#qpayCardId").val());
		orderPay(payType);
	});
	
   //关闭弹窗
	$('.mask_layer .close').click(function(){
		$(this).parents('.mask_layer').css('display','none');
		$("#addBankCard")[0].reset();;
	});
});
function setTime(obj) {
	if(sec == 0) {
		//请求超时
		//obj.removeAttribute("disabled");
		//obj.value = "获取验证码";
		//sec = 100;
		obj.attr("disabled",true);
		obj.val("请求支付超时");
		//跳转到订单待付款页面
		window.location.href=rootPath + '/order/orderPage?queryStatus=1';
		
	} else {
		obj.value = sec + 's';
		obj.val(sec + 's');
		sec--;
		setTimeout(function() {
			setTime(obj);
			obj
		}, 1000)
	};
};	
//向畅捷通下订单
function orderPay(payType){
	var data = {};
	var url = rootPath+"/order/ordersPay"; 
	data["orderId"] =$("#orderId").val();
	data["totalAmount"]=$("#totalAmount").val();
	data["productName"]=$("#productName").val();
	data["payType"] =payType;   //支付类型 1:畅捷通快捷银联支付 2.畅捷通微信扫码支付 3：畅捷通支付宝扫码支付 4.畅捷通微信app支付 5：畅捷通支付宝app支付 6：微信公众号支付 7：微信app支付 8：其它支付//alert($("#qpayCardId").val());
	data["cardId"] = $("#qpayCardId").val();
	var result = CommnUtil.ajax(url,data,"json");
	switch(payType){
	    case '1':
		if(result.resultSuccess == true ){
	        if(result. authenticate_status == '0' ){ //鉴权是否成功 鉴权是否成功，0：成功；1：失败  不代表支付成功，只代表请求成功
	            //开始等待验证码
	    		setTime($("#yzm"));
	        }
		}else{
	        layer.msg(result.resultDesc,{icon: 2,skin: 'layui-layer-red ',offset: ['40%', '45%']});
	        Pause(this,6000);//调用暂停函数
		    this.NextStep=function(){
				//请求支付失败跳转到订单待付款页面
				window.location.href=rootPath + '/order/orderPage?queryStatus=1';
		    }
		}
		break;
	    case '2':
	    	if(result.resultSuccess == true){
	    		var coderUrl = result.CodeUrl;
	    		makeCode(coderUrl);//生成二维码
        		$('.mask_layer .step_d').append('<span style="margin-bottom: 20px;margin-top: 10px;">请使用微信扫描二维码以完成支付</span>');
		        orderPayDetailInternal = self.setInterval("orderPayDetail()", 1000);
			    startTime=new Date();
	    	}else{

		        layer.msg(result.resultDesc,{icon: 2,skin: 'layui-layer-red ',offset: ['40%', '45%']});
		        Pause(this,6000);//调用暂停函数
			    this.NextStep=function(){
					//请求支付失败跳转到订单待付款页面
					window.location.href=rootPath + '/order/orderPage?queryStatus=1';
			    }
	    	}
	    	break;
	    case '3':
	    	if(result.resultSuccess == true){
	    		var coderUrl = result.CodeUrl;
	    		makeCode(coderUrl);//生成二维码
	    		$('.mask_layer .step_d').append('<span style="margin-bottom: 20px;">请使用支付宝扫描二维码以完成支付</span>');
	    		orderPayDetailInternal = self.setInterval("orderPayDetail()", 1000);
				startTime=new Date();
	    	}else{

		        layer.msg(result.resultDesc,{icon: 2,skin: 'layui-layer-red ',offset: ['40%', '45%']});
		        Pause(this,6000);//调用暂停函数
			    this.NextStep=function(){
					//请求支付失败跳转到订单待付款页面
					window.location.href=rootPath + '/order/orderPage?queryStatus=1';
			    }
	    	}
	    	break;
	    default:
	    	break;
	}
}
//判断该银行卡号是否是所选择的的银行卡
function isTheChooseBankCard(cardNumber){
	var url = rootPath + '/card/cardIsBelongsTheBank';
	var data ={} ;
	data["cardNumber"] = cardNumber;
	data["bankName"] = $("#bankName").val();
	var result = CommnUtil.ajax(url,data, "json");
	if(result.resultSuccess == true ){
		if(result.cardIsBelongsTheBank == true){
			return true;
		}else{

			$("#cardNumber").val("");
		//	alert("卡号错误,请重新输入!");
	        layer.msg("卡号错误,请重新输入!",{icon:2,skin: 'layui-layer-red ',offset: ['40%', '45%']});
			return false;
		}
	}else{
		$("#cardNumber").val("");
		//alert(result.resultDesc);
        layer.msg(result.resultDesc,{icon:2,skin: 'layui-layer-red ',offset: ['40%', '45%']});
		return false;
	}
}
//查询用户现有的开户银行
function memberCardBankInstList(){
	var url = rootPath + '/card/memberBankInstList';
	var result = CommnUtil.ajax(url, {
	}, "json");
	if (result.flag) {
		var bankInstList=result.instList;
		$(".bc_pay .main ul li  .card").empty();
		$.each(bankInstList,function(i,item){
			var selected ="";
			if(i ==0){
				selected ="selected";
			}
			var bank ='<a href="javascript:;" class="' + selected +'" bankName="'+ item.bank_name+'" instId="'+ item.bank_inst_id+'">'+
			'<img src="'+item.inst_img+'" alt="'+ item.bank_name +'" class="card_"/>'+
			'<img src="'+rootPath+'/images/gx.png" alt="选中" class="xz"/>'+
			'<img src="'+rootPath+'/images/del.png" alt="删除" class="del"/>'+
	       	'</a>';
			$(".bc_pay .main ul li .card").append(bank);
		});
	}else if(result.sessionValid){
	//	alert("会话失效，请重新登录!");
        layer.msg("会话失效，请重新登录!",{icon: 1,skin: 'layui-layer-red ',offset: ['40%', '45%']});
        Pause(this,6000);//调用暂停函数
	    this.NextStep=function(){
			window.location.href=rootPath + '/member/loginPre?redirect=/order/orderPage?queryStatus=1';
	    }
	} else {
		//alert('请求用户开户银行列表失败!',{icon: 2});
        layer.msg("请求用户开户银行列表失败!",{icon: 2,skin: 'layui-layer-red ',offset: ['40%', '45%']});
        Pause(this,6000);//调用暂停函数
	    this.NextStep=function(){
			window.location.href=rootPath + '/order/orderPage?queryStatus=1';
	    }
	}
}

//查询用户银行卡列表
function memberCardList(bankName){
	var url = rootPath + '/card/memberBankCardList';	
	var result = CommnUtil.ajax(url, 
			{"bank_name":bankName},
			"json");
	if(result.flag){
		var cardList = result.cardList;
	//	$('.mask_layer .step_c form').empty();
		$.each(cardList,function(i,item){
			var selected ="";
			if(i == 0){
				selected ="selected";
				$("#qpayCardId").val(item.card_id);
			}
			var card_number = item.card_number;
            var card_name = item.card_name + "("+card_number.substr(card_number.length-4)+")";
			var card = '<div class="border '+ selected +'"  cardId="'+item.card_id+'" >'+
					'<img src="'+item.inst_img + '" alt="'+ item.bank_name +'" />'+
					'<span>'+card_name+'</span>'+
					'<span class="r money">支付<i class="red f16">'+ $("#totalAmount").val() +'</i>元</span>'+
				    '</div>';
			$('.mask_layer .step_c form').before(card);
		});
	}else if(result.sessionValid){
		//alert("会话失效，请重新登录!");
        layer.msg('会话失效，请重新登录!',{icon:2,skin: 'layui-layer-red ',offset: ['40%', '45%']});	
        Pause(this,6000);//调用暂停函数
	    this.NextStep=function(){
			window.location.href=rootPath + '/member/loginPre?redirect=/order/orderPage?queryStatus=1';
	    }
	}else{
		//alert('请求用户开户银行卡列表失败!',{icon: 2});
        layer.msg('请求用户开户银行卡列表失败!',{icon:2,skin: 'layui-layer-red ',offset: ['40%', '45%']});	
        Pause(this,6000);//调用暂停函数
	    this.NextStep=function(){
			window.location.href=rootPath + '/order/orderPage?queryStatus=1';
	    }
	}
}

//查询畅捷通快捷支付支持的银行机构列表
function chanQPayBankInstList(){
	var url = rootPath + '/card/bankCardList';
	var result = CommnUtil.ajax(url,{},"json");
	if(result.resultSuccess){
		var instList = result.data;
		$('.step_a ul').empty();
		$.each(instList,function(i,item){
			var selected ="";
			if(i == 0){
				selected ="selected";
			}
			var instId = item.instId;
			var bank = '<li instId="'+ instId +'" instName ="' + item.instName  +'" ><img src="'+ item.instImg  +'" alt="'+ item.instName +'" /></li>';
			$('.step_a ul').append(bank);
		});
	}else if(result.sessionValid){
		//alert("会话失效，请重新登录!");
        layer.msg('会话失效，请重新登录!',{icon:2,skin: 'layui-layer-red ',offset: ['40%', '45%']});	
        Pause(this,6000);//调用暂停函数
	    this.NextStep=function(){
			window.location.href=rootPath + '/member/loginPre?redirect=/order/orderPage?queryStatus=1';
	    }
	}else{
        layer.msg('请求用户开户银行卡列表失败!',{icon:2,skin: 'layui-layer-red ',offset: ['40%', '45%']});	
		Pause(this,6000);//调用暂停函数
	    this.NextStep=function(){
			window.location.href=rootPath + '/order/orderPage?queryStatus=1';
	    }
	}
}
//请求订单支付结果(扫码支付专用)
function  orderPayDetail(){
	debugger;
	var nowTime = new Date();
	if((nowTime.getTime() - startTime.getTime())/1000 >300){ //如果超过5分钟则记为超时(可以处理关闭订单,暂时依赖定时任务）
		layer.msg("系统请求超时",{offset: ['50%', '40%'],title: ['提醒', 'font-size:18px;']});
		//请求支付失败跳转到订单待付款页面
		window.location.href=rootPath + '/order/orderPage?queryStatus=1'; //待付款页面
	}
	var url = rootPath + "/order/payDetail";
	var result = CommnUtil.ajax(url,{"orderId":$("#orderId").val()},"json");
	if(result.resultSuccess){
		if(result.status == '1'  || result.status == '6') {//支付状态1:支付成功,2:支付失败;3:未支付;4:处理异常;5:非法参数;6:银行已经受理,7:已付款至担保方;8:超时;9:准备中; 
			window.clearInterval(orderPayDetailInternal);//清除定时器
			var $url = rootPath + '/order/pay_success';
			window.open($url,'_self');
		}else if(result.status == '2'){			   
		/* 	layer.msg("请求支付失败",{offset: ['50%', '40%'],title: ['提醒', 'font-size:18px;'],icon: 1,time:100000});
			var $url = rootPath + '/order/orderPage?queryStatus=1';
			window.open($url,'_self'); */
		}else if(result.status == '3'){
			/* layer.msg("支付未完成",{offset: ['50%', '40%'],title: ['提醒', 'font-size:18px;'],icon: 1,time:100000});
			var $url = rootPath + '/order/orderPage?queryStatus=1'; */
		}
	}
}